iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
Modern Web

FastAPI 入門30天系列 第 3

Day-3 FastAPI的 HelloWorld

  • 分享至 

  • xImage
  •  

今天我們將帶大家啟動一個簡單的 FastAPI 應用程式

安裝套件

pip install fastapi
pip install "uvicorn[standard]"

我們先安裝上 FastAPI 的套件,要將API部署起來我們還需要一個ASGI伺服器。

通常使用 Uvicorn 即可,其也適用於生產環境當中。

主程式

我們在你的專案資料夾中建立一個新檔案 main.py。

from fastapi import FastAPI

# 實體化一個 FastAPI 物件
app = FastAPI()

# 使用裝飾器定義 API 路徑及呼叫方法並套用到 root 方法上
@app.get("/")
def root():
    return "Hello world"

測試

主程式完成後,我們在專案資料夾底下使用 Uvicorn 將其部署在本機進行測試。

uvicorn main:app --reload
  • main:app 代表當下路徑中 main.py 的 app ( FastAPI 物件 )
  • --reload 代表更動程式碼時會自動重新載入,方便 debug。

成功啟動後如下圖所示:

https://ithelp.ithome.com.tw/upload/images/20230908/20152669wNOKYpPmYV.png

可以看到 Uvicorn 成功啟動,並監聽 localhost 的8000埠。

根據剛剛主程式所設定的路徑,我們可以存取 http://127.0.0.1:8000/ ,會得到 response

"Hello world"

自動產生文件

FastAPI 在你定義好接口後,會自動根據程式碼幫你產生 API 文件,API文件都是根據 OpenAPI的規範所產生。

OpenAPI 和 JSON Schema

FastAPI 經過縝密的研究,在開發時皆圍繞此兩種公開規範進行設計。

  • OpenAPI : 一個定義 HTTP API 的標準介面描述,易於人類和機器理解 API 服務的功能。
  • JSON Schema : 一種聲明式語言,用於註釋和驗證 JSON 文件。

查看文件

FastAPI 提供了兩個交互式的API文件介面:

  • Swagger UI : 透過 /docs 路徑瀏覽

    https://ithelp.ithome.com.tw/upload/images/20230908/20152669LfBinMuLG9.png

  • ReDoc : 透過 /redoc 路徑瀏覽

    https://ithelp.ithome.com.tw/upload/images/20230908/2015266941G7LPA0iH.png

小結

透過今天的介紹我們知道了該怎麼啟動一個 FastAPI 應用程式,以及便利的文檔功能,接下來將會繼續介紹一些基本的使用方法給大家知道。

參考資料

第一步 - FastAPI (tiangolo.com)


上一篇
Day-2 FastAPI 介紹
下一篇
Day-4 路徑參數與查詢參數
系列文
FastAPI 入門30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言